package com.libre.auth.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.libre.auth.entity.PermissionApi;
import com.libre.auth.mapper.PermissionApiMapper;
import com.libre.auth.service.PermissionApiService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

/**
* @description   数据权限表
* @author        庞留杰
* @date          2022/01/18 18:08
* @version       V1.0
**/
@Transactional
@Slf4j
@Service
public class PermissionApiServiceImpl extends ServiceImpl<PermissionApiMapper, PermissionApi> implements PermissionApiService {

//    @Autowired
//    StringRedisTemplate redisTemplate;
//    @Autowired
//    PermissionApiFieldService permissionApiFieldService;
//
//    @Override
//    public List<PermissionApi> findByPermissionId(String permission_id) {
//        VerifyUtil.notEmpty("资源ID",permission_id);
//        QueryWrapper<PermissionApi> queryWrapper = new QueryWrapper<>();
//        queryWrapper.eq("is_delete","0");
//        queryWrapper.eq("permission_id",permission_id);
//        List<PermissionApi> list = this.list(queryWrapper);
//        list.forEach(it -> {
//            QueryWrapper<PermissionApiField> queryWrapper1 = new QueryWrapper<>();
//            queryWrapper1.eq("is_delete", "0");
//            queryWrapper1.eq("api_id", it.getId());
//            List<PermissionApiField> list1 = permissionApiFieldService.list(queryWrapper1);
//            it.setFields(list1);
//        });
//        // 清理redis数据
//        Set<String> keys = redisTemplate.keys(SysConstant.REDIS_DATA_AUTHORITY+"*");
//        Long delete = redisTemplate.delete(keys);
//        return list;
//    }
//
//    @Override
//    public boolean edit(PermissionApi permissionApi) {
//        boolean b = this.saveOrUpdate(permissionApi);
//        List<PermissionApiField> fields = permissionApi.getFields();
//        // 删除
//        UpdateWrapper<PermissionApiField> updateWrapper = new UpdateWrapper<>();
//        updateWrapper.eq("is_delete", "0");
//        updateWrapper.eq("api_id", permissionApi.getId());
//        updateWrapper.set("is_delete", "1");
//        boolean update = permissionApiFieldService.update(updateWrapper);
//        // 新增
//        fields.forEach(it->{
//            it.setId(null);
//            it.setApi_id(permissionApi.getId());
//        });
//        permissionApiFieldService.saveBatch(fields);
//        // 清理redis数据
//        Set<String> keys = redisTemplate.keys(SysConstant.REDIS_DATA_AUTHORITY+"*");
//        Long delete = redisTemplate.delete(keys);
//        return b;
//    }
//
//    @Override
//    public boolean delete(String id) {
//        PermissionApi permissionApi = new PermissionApi();
//        permissionApi.setId(id);
//        permissionApi.setIs_delete("1");
//        boolean b = this.updateById(permissionApi);
//        UpdateWrapper<PermissionApiField> updateWrapper = new UpdateWrapper<>();
//        updateWrapper.eq("is_delete", "0");
//        updateWrapper.eq("api_id", id);
//        updateWrapper.set("is_delete", "1");
//        permissionApiFieldService.update(updateWrapper);
//        // 清理redis数据
//        Set<String> keys = redisTemplate.keys(SysConstant.REDIS_DATA_AUTHORITY+"*");
//        Long delete = redisTemplate.delete(keys);
//        return b;
//    }
}
